base-option
Adds a few options methods to base, like option
, enable
and disable
. See the readme for the full API.
Install
Install with npm:
$ npm install base-option --save
Usage
Use as a plugin with with your base
application:
var Base = require('base-methods');
var options = require('base-option');
var base = new Base();
base.use(options());
app.option('a', 'b');
app.option('x.y', 'z');
console.log(app.option('x'));
API
.option
Set or get an option.
Params
key
{String}: The option name.value
{any}: The value to set.returns
{any}: Returns a value
when only key
is defined.
Example
app.option('a', true);
app.option('a');
.hasOption
Return true if options.hasOwnProperty(key)
Params
prop
{String}returns
{Boolean}: True if prop
exists.
Example
app.hasOption('a');
app.option('a', 'b');
app.hasOption('a');
.enable
Enable key
.
Params
key
{String}returns
{Object} Options
: to enable chaining
Example
app.enable('a');
.disable
Disable key
.
Params
key
{String}: The option to disable.returns
{Object} Options
: to enable chaining
Example
app.disable('a');
.enabled
Check if prop
is enabled (truthy).
Params
prop
{String}returns
{Boolean}
Example
app.enabled('a');
app.enable('a');
app.enabled('a');
.disabled
Check if prop
is disabled (falsey).
Params
prop
{String}returns
{Boolean}: Returns true if prop
is disabled.
Example
app.disabled('a');
app.enable('a');
app.disabled('a');
.isTrue
Returns true if the value of prop
is strictly true
.
Params
prop
{String}returns
{Boolean}: Uses strict equality for comparison.
Example
app.option('a', 'b');
app.isTrue('a');
app.option('c', true);
app.isTrue('c');
app.option({a: {b: {c: true}}});
app.isTrue('a.b.c');
.isFalse
Returns true if the value of key
is strictly false
.
Params
prop
{String}returns
{Boolean}: Uses strict equality for comparison.
Example
app.option('a', null);
app.isFalse('a');
app.option('c', false);
app.isFalse('c');
app.option({a: {b: {c: false}}});
app.isFalse('a.b.c');
.isBoolean
Return true if the value of key is either true
or false
.
Params
key
{String}returns
{Boolean}: True if true
or false
.
Example
app.option('a', 'b');
app.isBoolean('a');
app.option('c', true);
app.isBoolean('c');
Set option key
on app.options
with the given value
Params
key
{String}: Option key, dot-notation may be used.value
{any}
Example
app.option.set('a', 'b');
console.log(app.option.get('a'));
Get option key
from app.options
Params
key
{String}: Option key, dot-notation may be used.returns
{any}
Example
app.option({a: 'b'});
console.log(app.option.get('a'));
Returns a shallow clone of app.options
with all of the options methods, as well as a .merge
method for merging options onto the cloned object.
Params
options
{Options}: Object to merge onto the returned options object.returns
{Object}
Example
var opts = app.option.create();
opts.merge({foo: 'bar'});
Related projects
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
Generate readme and API documentation with verb:
$ npm install verb && npm run docs
Or, if verb is installed globally:
$ verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author
Jon Schlinkert
License
Copyright © 2016 Jon Schlinkert
Released under the MIT license.
This file was generated by verb, v0.9.0, on March 09, 2016.